/**
 * 响应拦截
 * @param {Object} http 
 */

module.exports = (vm) => {
	uni.$u.http.interceptors.response.use((response) => {
		console.log("响应参数：", response);
		uni.hideLoading()
		/* 对响应成功做点什么 可使用async await 做异步操作*/
		let data = response.data
		// 自定义参数
		const custom = response.config?.custom
		console.log("响应拦截器自定义参数", custom);
		// 自定义参数为byt的示例代码
		if (custom.type == "byt") {
			// 上传oss，无内容。服务器成功处理，但未返回内容。在未更新网页的情况下，可确保浏览器继续显示当前文档
			if (response.statusCode == 204) {
				return data || {};
			}

			if (data.code != 0) {

				if (data.code == 200) {
					return data || {};
				}

				console.log("百业通后端服务错误", data);
				if (data.message.length <= 100) {
					if (data.code == 401) {
						data.message = "token错误，无权限访问";
					}
					setTimeout(() => {
						if (data.message) {
							uni.$u.toast(data.message)
						}
					}, 300)
				} else {
					uni.$u.toast("百业通后端服务错误，请联系管理员");
				}
				return null;
			}
			return data || {};
		} else {
			// 为了以后适配其他环境
		}
	}, (response) => {
		uni.hideLoading()

		console.log("接口响应错误", response);

		uni.$u.toast("接口响应错误，请联系管理员")

		return Promise.reject(response)
	})
}